#Javascript 严格模式详解

【JDK8特性】Optional包装类详解

    Optional类是Java8为了解决null值判断问题,借鉴googleguava类库的Optional类而引入的一个同名Optional类,使用Optional类可以避免显式的null值判断(null的防御性检查),避免null导致的NPE(NullPointerEx...

【JDK8特性】lambda表达式详解

  Lambda表达式是JDK8的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。  JDK也提供了大量的内置函数式接口供我们使用,使得Lambda表达式的运用更加方便、高效。  虽然使用Lambda表达式可以对某些接口进行简单的实现,但并不是...

MySQL学习之EXPLAIN执行计划详解及最佳实践

  备注:环境mysql5.6.38  使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或者表结构的性能瓶颈。  语法:Explain+SQL语句  在select语句之前增加explain关键字,MySQL会在查询上设置一个标记,执行查询时,会返回执...

Mybatis学习之核心原理代码详解

  首先我们来看看我们有两种方式实现Mybatis调用,一种是XML,一种是注解,分别如下:SqlSessionsession=sqlSessionFactory.openSession();try{//方式一:mapper配置文件XML配置SQLUseruser=session.selectOne("org.myba...

Mybatis学习之工作流程代码详解

  Mybatis是一种ORM对象关系映射架构,实现JavaObject和数据库字段映射。           如上图所示,Mybatis就是根据Java配置的数据源(driver、url、username、password)以及Mapper配置SQL(DQL查询、DML修改、DDLcreate)语句,基于J...

Mybatis学习之核心配置详解

  MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。配置文档的顶层结构如下:     这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的Java属性文件中配置这些属性,也可以在properties元素的子元素中设置。例如:<propertiesresource="org/...

Zookeeper学习之Jute序列化以及通信协议详解

  1、Jute概述  Zookeeper的客户端与服务端之间会进行一系列的网络通信来实现数据传输,Zookeeper使用Jute组件来完成数据的序列化和反序列化操作,其用于Zookeeper进行网络数据传输和本地磁盘数据存储的序列化和反序列化工作。  实体类要使用Jute进行序列化和反序列化步骤:1.需要实现Reco...

深入浅出吃透多线程、线程池核心原理及代码详解

  1、什么是线程  线程是一个操作系统概念。操作系统负责这个线程的创建、挂起、运行、阻塞和终结操作。而操作系统创建线程、切换线程状态、终结线程都要进行CPU调度——这是一个耗费时间和系统资源的事情。  2、线程生命周期  Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡:创建状态。在生成线程对象,并没...

Spring可二次开发常用接口、类及其源码详解

  Spring为了用户的开发方便和特性支持,开放了一些特殊接口和类,用户可进行实现或者继承,常见的如这些: ApplicationContextAware接口、ApplicationEvent抽象类、ApplicationListener接口、BeanNameAware接口、BeanFactoryAware...

Redis学习之Redis集群模式缺陷及其处理

  在我们已经有了Jedis客户端、集群模式支持后,Redis基本使用已经没有大的问题了。关于Jedis以及集群模式请参考博文:Redis学习之4种模式实践及机制解析(单机、主从、哨兵、集群)Redis学习之API学习及Jedis源码原理分析Redis学习之Jedis源码原理分析探究(BIO手写Jedis客户端)  但...

Redis学习之4种模式实践及机制解析(单机、主从、哨兵、集群)

  Redis在日常部署的时候,可以有多种部署模式:单机、主从、哨兵、集群(分区分片),因此本例将对上面这四种模式进行详细的讲解,特别是集群模式将进行最细致的讲解(现行普遍使用的方式)。  单机部署很简单,直接下载Redis进行安装即可,此处不作详细讲解,具体Redis的安装请参考:Mac下安装Redis及RedisD...

设计模式之备忘录模式(Memento)详解及代码示例

  备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。  备忘录模式能记录一个对象的内部状态,当用户后悔时能撤销当前操作,使数据恢复到它原先的状态。  备忘录模式是一种对象行为型模式,其主要...

设计模式之访问者模式(Visitor)详解及代码示例

  访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。  访问者(Visitor)模式是一种对象行为型模...

设计模式之中介者模式(Mediator)详解及代码示例

  中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。  中介者模式是一种对象行为型模式,其主要优点如下:降低了对象之间的耦合性,使得对象易于独立地被复用。将对象间的一对多关联转变...

设计模式之命令模式(Command)详解及代码示例

  命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。  命令模式的主要优点如下:降低系统的耦合度。命令模式能将调用操作的对象与实现该操作的对象解耦。增加或删除命令非常方便。采用命...
首页上一页...5354555657...下一页尾页